<?php
class ImpSoft_View_Helper_FormLabel extends Zend_View_Helper_FormElement {

    /**
     * Generates a 'label' element.
     *
     * @param  string $name The form element name for which the label is being generated
     * @param  string $value The label text
     * @param  array $attribs Form element attributes (used to determine if disabled)
     * @return string The element XHTML.
     */
    public function formLabel($name, $value = null, $attribs = array(), $required = array()) {
    
        if (!is_array($attribs)) $attribs = array();
        if (!is_array($required)) $required = array($required);
        if (in_array($name, $required)) {
            if (isset($attribs['class'])) $attribs['class'] .= " required";
            else $attribs['class'] = "required";
        }
		
        $info = $this->_getInfo($name, $value, $attribs);
        extract($info); // name, value, attribs, options, listsep, disable, escape

        // build the element
        if ($disable) {
            // disabled; display nothing
            $xhtml = '';
        } else {
            $value = ($escape) ? $this->view->escape($value) : $value;

            // enabled; display label
            $xhtml = '<label'
                   . ' for="' . $this->view->escape($id) . '"'
                   . $this->_htmlAttribs($attribs)
                   . '>' . $value . '</label>';
        }

        return $xhtml;
    
    }

}